CreateProperty Method Example

This example tries to set the value of a user-defined property. If the property doesn't exist, it uses the CreateProperty method to create and set the value of the new property. The SetProperty procedure is required for this procedure to run.

Sub CreatePropertyX()

    Dim dbsNorthwind As Database
    Dim prpLoop As Property

    Set dbsNorthwind = OpenDatabase("Northwind.mdb")

    ' Set the Archive property to True.
    SetProperty dbsNorthwind, "Archive", True
    
    With dbsNorthwind
        Debug.Print "Properties of " & .Name
        
        ' Enumerate Properties collection of the Northwind 
        ' database.
        For Each prpLoop In .Properties
            If prpLoop <> "" Then Debug.Print "  " & _
                prpLoop.Name & " = " & prpLoop
        Next prpLoop

        ' Delete the new property since this is a 
        ' demonstration.
        .Properties.Delete "Archive"

        .Close
    End With

End Sub

Sub SetProperty(dbsTemp As Database, strName As String, _
    booTemp As Boolean)

    Dim prpNew As Property
    Dim errLoop As Error

    ' Attempt to set the specified property.
    On Error GoTo Err_Property
    dbsTemp.Properties("strName") = booTemp
    On Error GoTo 0

    Exit Sub

Err_Property:

    ' Error 3270 means that the property was not found.
    If DBEngine.Errors(0).Number = 3270 Then
        ' Create property, set its value, and append it to the 
        ' Properties collection.
        Set prpNew = dbsTemp.CreateProperty(strName, _
            dbBoolean, booTemp)
        dbsTemp.Properties.Append prpNew
        Resume Next
    Else
        ' If different error has occurred, display message.
        For Each errLoop In DBEngine.Errors
            MsgBox "Error number: " & errLoop.Number & vbCr & _
                errLoop.Description
        Next errLoop
        End
    End If

End Sub